package cn.xy.base.server.enums;

import lombok.Getter;

/**
 * 固定角色枚举
 *
 * @author xy
 */
@Getter
public enum RoleEnum {

    /**
     * 超级管理员
     */
    SUPER_ADMIN(1, "超级管理员"),

    /**
     * 乡村管理员
     */
    RUSTIC_ADMIN(2, "乡村管理员"),

    /**
     * 运营管理员
     */
    OPERATION_ADMIN(3, "运营管理员"),

    /**
     * 基础权限
     */
    BASIC(4, "基础权限");

    /**
     * 角色id
     */
    private final int id;

    /**
     * 角色名称
     */
    private final String name;

    RoleEnum(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public static boolean isSuperAdmin(int roleId) {
        return roleId == SUPER_ADMIN.id;
    }

    public static boolean isAdmin(int roleId) {
        return roleId == SUPER_ADMIN.id || roleId == RUSTIC_ADMIN.id || roleId == OPERATION_ADMIN.id;
    }

    public static boolean roleInEnum(int id) {
        for (RoleEnum roleEnum : RoleEnum.values()) {
            if (roleEnum.getId() == id) {
                return true;
            }
        }
        return false;
    }
}
